package com.atguigu04.example.exer4;

/**
 * ClassName: Marry
 * Package: com.atguigu04.example.exer4
 * Description:
 *根据上一章数组中的常用算法操作，自定义一个操作int[]的工具类。
 * 涉及到的方法有：求最大值、最小值、总和、平均数、遍历数组、复制数组、
 *              数组反转、数组排序(默认从小到大排序)、查找等
 * @Author xiao_qi
 * @Create 2024/3/28 19:44
 * @Version 1.0
 */
public class Marry {
    //求最大值
    public int getmax(int []arr){
        int max = arr[0];
        for (int i = 0; i < arr.length ; i++) {
            if (max < arr[i]){
                max = arr[i];
            }
        }
        return max;
    }
    //最小值
    public int getmin(int []arr){
        int min = arr[0];
        for (int i = 0; i < arr.length ; i++) {
            if (min > arr[i]){
                min = arr[i];
            }
        }
        return min;
    }
    //总和

    public int getsum(int []arr){
        int sum = 0;
        for (int i = 0; i < arr.length ; i++) {
           sum += arr[i];
        }
        return sum;
    }
    //平均值
    public int getaverage(int []arr){


        return getsum(arr)/ arr.length;
    }
    //遍历数组

    public void printf(int[] arr){
        for (int i = 0; i < arr.length ; i++) {
            System.out.print(arr[i]+"\t");
        }
        System.out.println( );
    }
    //复制数组

    public int[] copy(int[] arr){
        int[] newarr = new int[arr.length];
        for (int i = 0; i < arr.length; i++) {
            newarr[i] = arr[i];
        }
        return newarr;
    }
    //数组反转
    public void reserver(int [] arr){
        for (int i = 0,j= arr.length -1; i <j ; j--,i++) {
            int t = arr[i];
            arr[i] = arr[j];
            arr[j] = t;
        }
    }
    //数值排序

    public void sort(int[] arr){
        for (int i = 0; i < arr.length -1 ; i++) {
            for (int j = 0; j < arr.length -1 -i; j++) {

                if(arr[j] > arr[j +1]){
                    int t = arr[j];
                    arr[j ] = arr[j +1];
                    arr[j +1] =t;
                }
            }
        }
    }

    //查找
    public int linearSearch(int[] arr,int target){

        for(int i = 0;i < arr.length;i++){
            if(target == arr[i]){
                return i;
            }

        }

        //只要代码执行到此位置，一定是没找到
        return -1;

    }

}
